﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace SpaceGame
{
    class Tiro : Objeto
    {
        animacao andando;
        public bool existe;

        public Tiro(Texture2D imagem, GameWindow Window, Vector2 posicao)
            :base(imagem, Window)
        {

            this.posicao = posicao;
            velocidade = new Vector2(8, 8);
            //this.efeitoSonoro = efeitoSonoro;
            existe = true;

            andando = new animacao();
            andando.qtd_quadros = 6;
            andando.quadros_seg = 6;
            andando.Y = 0;
            andando.quadro_X = imagem.Width / andando.qtd_quadros;
            andando.quadro_Y = imagem.Height;
            _animacao = andando;
            colisao = new Rectangle((int)posicao.X, (int)posicao.Y, andando.quadro_X, andando.quadro_Y);

        }

        public override void Update(GameTime gameTime)
        {
            colisao.X = (int)posicao.X;
            colisao.Y = (int)posicao.Y;
            colisao.Width = andando.quadro_X;
            colisao.Height = andando.quadro_Y;

            posicao.Y -= velocidade.Y;

            Jogo.inimigos.ForEach(delegate(Inimigo inimigo)
            {
                if (this.Bateu(inimigo))
                {
                    this.existe = false;
                    inimigo.existe = false;
                }
            });

            if (posicao.Y < (0-imagem.Height))
                existe = false;
        }
    }
}
